﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
//int main()
//{
	//printf("%c\n",65);
	//printf("%d\n", 'A');
	//char arr1[] = {"abc"};
	//char arr2[] = "abc";
	//char arr3[] = {'a','b','c'};
	//printf("%d\n",strlen(arr1));
	//printf("%d\n", strlen(arr2));
	//printf("%d\n", strlen(arr3));
	//int a = 10;
	//printf("%zd\n", sizeof(a));
	//printf("%zd\n", sizeof a);//a是变量的名字，可以省略掉sizeof后边的()
	//printf("%zd\n", sizeof(int));
	//printf("%zd\n", sizeof(3 + 3.5));


//	printf("%+12.2f\n", 12.0110f);
//	printf("%u\n", sizeof(char));
//	printf("%u\n", sizeof(_Bool));//计算数据类型长度
//	printf("%u\n", sizeof(short));
//	printf("%u\n", sizeof(int));
//	printf("%u\n", sizeof(long));
//	printf("%u\n", sizeof(long long));
//	printf("%u\n", sizeof(float));
//	printf("%u\n", sizeof(double));
//	printf("%u\n", sizeof(long double));
//	printf("%.5s\n", "hello world");//输出部分字符串
//
//	system("pause");
//	return 0;
//	
//}

////int main()
////{
////	srand((unsigned int)time(NULL));
////	printf("%d\n", rand());
////	printf("%d\n", rand());
////	printf("%d\n", rand());
////	printf("%d\n", rand());
////	printf("%d\n", rand());
////	printf("%d\n", rand());
////
////
////	
////
////	system("pause");
////	return 0;
//}


//猜数字游戏
//void menu()
//{
//	printf("*******猜数字游戏*******\n");
//	printf("************************\n");
//	printf("******** 1.开始 ********\n");
//	printf("******** 2.退出 ********\n");
//	printf("************************\n");
//}
//void game()
//{
//	int count = 5;//剩余猜数机会
//	int input = 0;//猜数
//
//			  while (count--)
//			  {
//				  printf("请输入你的猜数: ");
//				  scanf("%d", &input);
//				  if (a == input)
//				  {
//					  printf("答对啦\n");
//					  goto next;
//				  }
//				  else if (a < input)
//				  {
//					  printf("猜大啦\n");
//					  printf("还有%d次机会\n", count);
//					  continue;
//				  }
//				  else if (a>input)
//				  {
//					  printf("猜小啦\n");
//					  printf("还有%d次机会\n", count);
//					  continue;
//				  }
//			  }
//
//}
//int main()
//{
//	int a = 0;//随机数
//	int b = 0;//开始或退出
//	menu();
//	srand((unsigned int)time(NULL));
//	a = rand()%100;
//	printf("请选择：");
//	scanf("%d", &b);
//	switch (b)
//	{
//	case 1:
//	{
//			  game();
//	}
//	case 2:
//	{
//			  printf("bye\n");
//			  break;
//	}
//	default:
//		printf("输入错误\n");
//		break;
//	}
//	next:
//	system("pause");
//	return 0;
//}

//方法二：
//void menu()
//{
//	printf("************************\n");
//	printf("******  1. play  *******\n");
//	printf("******  0. exit  *******\n");
//	printf("************************\n");
//}
//void game()
//{
//	//1. 生成随机数（1~100）
//	int ret = rand() % 100 + 1;//1~100
//	//n%100 余数的取值的范围 0~99
//	//2. 猜数字
//	int guess = 0;
//	int count = 5;
//	while (count)
//	{
//		printf("请猜数字:>");
//		scanf("%d", &guess);
//		if (guess < ret)
//		{
//			printf("猜小了\n");
//		}
//		else if (guess > ret)
//		{
//			printf("猜大了\n");
//		}
//		else
//		{
//			printf("恭喜你，猜对了\n");
//			break;
//		}
//		count--;
//	}
//
//	if (count == 0)
//	{
//		printf("猜失败了，正确的数字是:%d\n", ret);
//	}
//}
//
//int main()
//{
//	int input = 0;
//	srand((unsigned int)time(NULL));
//	do
//	{
//		menu();
//
//		printf("请选择:>");
//		scanf("%d", &input);
//		switch (input)
//		{
//		case 1:
//			game();
//			break;
//		case 0:
//			printf("退出游戏\n");
//			break;
//		default:
//			printf("选择错误\n");
//			break;
//		}
//
//	} while (input);
//	system("pause");
//	return 0;
//}

//void game()
//{
//	int count = 5;
//	int num = rand() % 100 + 1;//随机数1-100
//	while (count)
//	{
//
//		srand((unsigned int)time(NULL));
//		int guess = 0;
//		printf("请输入你的猜数;");
//		scanf("%d", guess);
//		if (guess == num)
//		{
//			printf("恭喜你猜对啦\n");
//			break;
//		}
//		else if (guess < num)
//		{
//			printf("再试试，猜小啦！\n");
//			printf("还有%d次机会", count);
//
//		}
//		else if (guess>num)
//		{
//			printf("再试试，猜大啦！\n");
//			printf("还有%d次机会", count);
//		}
//		count--;
//	}
//	if (count == 0)
//	{
//		printf("游戏失败\n");
//	}
//
//
//
//}
//void menu()
//{
//	printf("*******猜数字游戏*******\n");
//	printf("************************\n");
//	printf("******** 1.开始 ********\n");
//	printf("******** 0.退出 ********\n");
//	printf("************************\n");
//}
//
//int main()
//{
//	int input = 0;
//	menu();
//	do
//	{
//		printf("请输入：");
//		scanf("%d", &input);
//		switch (input)
//		{
//			case 1:
//			{
//					  game();
//					  break;
//			}
//			case 0:
//			{
//					  printf("游戏已退出\n");
//						  break;
//			}
//			default:
//				printf("输入错误\n");
//				break;
//		}
//	} while (input);
//	system("pause");
//	return 0;
//}

//游戏直接进来用do while 循环 
void menu()
{
	printf("*******猜数字游戏*******\n");
	printf("************************\n");
	printf("******** 1.开始 ********\n");
	printf("******** 0.退出 ********\n");
	printf("************************\n");
}
void game()
{
	//1.生成随机数（1-100）
	int num = rand()%100+1;//随机值1-100
	//2.猜数字 （猜数字是死循环）
	int guess = 0;
	int count = 5;
	printf("总共五次机会\n");
	while (count)
	{
		printf("请输入你的猜数:");
		scanf("%d", &guess);
		if (guess < num)
		{
			printf("猜小了，再试试\n");
		}
		else if (guess>num)
		{
			printf("猜大了，再试试\n");
		}
		else
		{
			printf("恭喜你，猜对啦\n");
			break;
		}
		count--;
		printf("还有%d次机会^-^\n", count);
	}
	if (count == 0)
	{
		printf("游戏失败，正确结果是%d\n", num);

	}


}
int main()
{
	srand((unsigned int)time(NULL));//随机值种子只要设置一次 放在主程序
	int input = 0;
	menu();
	do
	{
		printf("请选择：");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("已退出游戏\n");
			break;
		default:
			printf("输入错误\n");
			break;
		}
	} while (input);
	system("pause");
	return 0;
}